package org.dromara.school.service;

import com.github.yulichang.base.MPJBaseService;
import org.dromara.school.domain.TeacherClasses;
import org.dromara.school.domain.vo.TeacherClassesVo;
import org.dromara.school.domain.bo.TeacherClassesBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 教师班级绑定Service接口
 *
 * @author Gjb
 * @date 2025-06-03
 */
public interface ITeacherClassesService   extends MPJBaseService<TeacherClasses>  {

    /**
     * 查询教师班级绑定
     */
    TeacherClassesVo queryById(Long teacherId);

    /**
     * 查询教师班级绑定列表
     */
    TableDataInfo<TeacherClassesVo> queryPageList(TeacherClassesBo bo, PageQuery pageQuery);

    /**
     * 查询教师班级绑定列表
     */
    List<TeacherClassesVo> queryList(TeacherClassesBo bo);

    /**
     * 新增教师班级绑定
     */
    Boolean insertByBo(TeacherClassesBo bo);

    /**
     * 修改教师班级绑定
     */
    Boolean updateByBo(TeacherClassesBo bo);

    /**
     * 校验并批量删除教师班级绑定信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    List<Object> findbyTeacherId(Long userId);

    int deleteByClassId(Long id);
}
